import numpy as np
import matplotlib.pyplot as plt
from scipy.stats import poisson

# 定义泊松分布的参数 λ（平均发生率）
lambda_ = 15  # 平均每天15位顾客

# 定义x轴的范围（事件发生次数）
x = np.arange(0, 31)  # 从0到30，因为泊松分布是离散的，且我们关心的是小概率事件

# 计算泊松分布的概率质量函数（PMF）
pmf_values = poisson.pmf(x, lambda_)

# 绘制柱状图
plt.bar(x, pmf_values, color='blue', alpha=0.7)

# 添加标题和标签
plt.title('Poisson Distribution PMF')
plt.xlabel('Number of Events (k)')
plt.ylabel('Probability P(X=k)')

# 显示网格
plt.grid(True)

# 显示图表
plt.show()